14. POLIA
V tejto časti sa oboznámime s pojmom polí. Poznáme jednorozmerné a viacrozmerné polia. Pole je vlastne skupina premenných rovnakého typu, kde jednotlivé prvky rozlišujeme podľa ich poradového čísla - indexu. Majú rovnaký identifikátor a počet prvkov musí byť vopred známym. V pamäti zaberajú súvislú časť.
14.1 Jednorozmerné pole
Deklarácia jednorozmerného poľa:
IdentifikátorPoľa : Array[TypIndexu] Of TypPremenných
TypIndexu musí byť ordinárneho typu.
Const | |
| Max = 100 ; |
Type | |
| TVaha = Array [1..Max] Of Real ; |
Var | |
| Vaha : TVaha ; |
| VahaOs : Array [1..Max] Of Real ; |
| Pocet : Array ['A'..'E'] Of Byte ; |
Hoci premenné Vaha a VahaOs sú definované v skutočnosti rovnako, ale Turbo Pascal ich chápe ako rôzne typy!
Pravidlá:
- Pole má pevný počet prvkov.
- Typy všetkých prvkov poľa sú rovnaké.
- TypIndexu môže byť iba ordinárneho typu.
- Pre každú hodnotu indexu existuje prvok poľa.
- Počet prvkov poľa určuje početnosť TypIndexu.
- Index je výraz typu TypIndexu.
- Každý prvok poľa sa priamo dosiahnuť pomocou indexu.
Pred odvolaním sa na prvok poľa vždy overme, či existuje taký prvok, t.j. musíme overiť či sme neprekročili hranicu indexu. Túto kontrolu môžeme vypnúť.
14.2 Pole s počiatočnou hodnotou
Určiť hodnoty prvkov poľa môžeme nie len pomocou priradenia ale aj pomocou Const:
Const | |
| IdentifikátorPoľa : TypPoľa = (Prvok, Prvok, ... , Prvok) ; |
| |
Const | |
| Mena : Array [1..4] Of String[15] = ('Eva','Jano','Iva','Palo','Ema') ; |
| PoctySt : Array['A'..'E'] Of Byte = (23,15,25,18,20) ; |
| Pismena : Array[1..5] Of Char = ('A','B','C','D','E') ; |
14.3 Viazrozmerné polia
TypPremenných môže byť tiež pole:
Var | | |
| Pole : | Array[TypIndexu1] Of |
| | Array[TypIndexu2] Of TypPrvku |
jednoduchšie:
Var | | |
| Pole : | Array[TypIndexu1,TypIndexu2] Of TypPrvku ; |
atď aj pre ešte viac rozmerov.
Odkaz na prvky poľa je IdentifikátorPoľa[Index], IdentifikátorPoľa[Index1,Index2], atď.
|